Communication apparatus, communication method, program and storage medium

ABSTRACT

A communication apparatus ( 101 ) includes: receiving means for receiving a communication parameter, which is necessary for communication, from another communication apparatus; storage means ( 103, 212 ) for storing the communication parameter; first detecting means for detecting a connection instruction for connection to a network; and connecting means which, if the connection instruction (S 401 ) has been detected by the first detecting means, is for executing processing for connecting to the network using a communication parameter already stored in the storage means ( 212 ), or processing for connecting to the network after a communication parameter is received from another communication apparatus by the receiving means, in accordance with the type of communication parameter already stored in the storage means ( 212 ).

TECHNICAL FIELD

The present invention relates to a communication apparatus, acommunication method and program, and to a storage medium storing theprogram.

BACKGROUND ART

In wireless communication typified by that performed by a wireless LANcompliant with IEEE 802.11, there are a large number of setting itemsthat must be set before use.

Examples of setting items are communication parameters necessary inorder to carry out wireless communication, such as an SSID serving as anetwork identifier, an encryption method, an encryption key, anauthentication method and an authentication key. Setting these by manualinput performed by a user is very troublesome.

Accordingly, various manufacturers have proposed automatic settingmethods for setting communication parameters in wireless devices insimple fashion. According to these automatic setting methods,communication parameters are provided from one device to another devicebased upon a procedure and messages predetermined between the devices tobe connected, and the setting of the communication parameters isperformed automatically.

An example of automatic setting of communication parameters has beendisclosed in Wi-Fi (certified trademark) for Wi-Fi Protected Setup:Easing the User Experience for Home and Small Office Wi-Fi® Networks,http://www.wi-fi.org/wp/wifi-protected-setup (referred to as a “Wi-Fiprotected setup document” below).

There are two methods of setting communication parameters automatically,namely a method in which the user inputs an authentication code to thedevice (referred to as an “authentication code method” below) and amethod in which an authentication code is not input (referred to as a“non-authentication code method” below) (see the Wi-Fi protected setupdocument).

According to the authentication code method, an authentication code isshared between devices, authentication processing is executed by each ofthe devices and setup processing is executed between devices whereauthentication processing has succeeded. In this case, it becomespossible for a device to transfer communication parameters safely byauthentication processing.

According to the non-authentication code method, when a terminal thathas initiated automatic setting of communication parameters is detected,the communication parameters are provided to this device automatically.One example of a non-authentication code method is a method of startingsetup processing by pressing a setting start button provided on a deviceand, during execution of this setup processing, performing automaticsetup between this device and another device that has started setupprocessing is similar fashion. Although the non-authentication codemethod is inferior to the authentication code method in terms ofsecurity, it has the advantage of simple operation because the user neednot input an authentication code.

Thus, the user is capable of setting communication parameters in awireless device through a simple operation, and the wireless device canbe connected to a network in simple fashion by using the communicationparameters that have been set.

In the prior art, set communication parameters change explicitly oncethey are set, or they do not change unless the automatic setting of thecommunication parameters is performed again.

With regard to reconnection processing following inadvertent severanceof communication, whether re-connection is possible with communicationparameters once set cannot be easily determined. Before re-connection isattempted, therefore, the user must first investigate the status of thenetwork to which the connection is to be made. Furthermore, based uponthe result of this investigation of network status, the user must selectwhether to execute automatic setting of communication parameters againor to execute connection processing using the already set communicationparameters.

DISCLOSURE OF INVENTION

The present invention alleviates user operation when an attempt is madeto effect re-connection after a communication device for which automaticsetup of communication parameters has already been completed leaves anetwork.

According to one aspect of the present invention, a communicationapparatus includes: receiving means for receiving a communicationparameter, which is necessary for communication, from anothercommunication apparatus; storage means for storing the communicationparameter; first detecting means for detecting a connection instructionfor connection to a network; and connecting means which, if theconnection instruction has been detected by the first detecting means,is for executing processing for connecting to the network using acommunication parameter already stored in the storage means, orprocessing for connecting to the network after a communication parameteris received from another communication apparatus by the receiving means,in accordance with the type of communication parameter already stored inthe storage means.

According to another aspect of the present invention, a control methodof a communication apparatus, includes: a receiving step of receiving acommunication parameter, which is necessary for communication, fromanother communication apparatus; a storage step of storing thecommunication parameter in a storage unit; a detecting step of detectinga connection instruction for connection to a network; and if theconnection instruction has been detected at the detecting step, aconnecting step of executing processing for connecting to the networkusing a communication parameter already stored at the storage step, orprocessing for connecting to the network after a communication parameteris received from another communication apparatus at the receiving step,in accordance with the type of communication parameter already stored atthe storage step.

According to still another aspect of the present invention, a programfor causing a control method by a communication apparatus to be executedby computer, the method includes: a receiving step of receiving acommunication parameter, which is necessary for communication, fromanother communication apparatus; a storage step of storing thecommunication parameter in a storage unit; a detecting step of detectinga connection instruction for connection to a network; and if theconnection instruction has been detected at the detecting step, aconnecting step of executing processing for connecting to the networkusing a communication parameter already stored at the storage step, orprocessing for connecting to the network after a communication parameteris received from another communication apparatus at the receiving step,in accordance with the type of communication parameter already stored atthe storage step.

Further features of the present invention will become apparent from thefollowing description of exemplary embodiments (with reference to theattached drawings).

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram illustrating the configuration of a terminal;

FIG. 2 is a block diagram of software functions within a terminalaccording to an embodiment of the present invention;

FIG. 3 is a diagram illustrating configuration of a network according toan embodiment;

FIG. 4 is a flowchart illustrating a connection operation of acommunication apparatus according to an embodiment; and

FIG. 5 is flowchart illustrating a disconnection operation of acommunication apparatus according to an embodiment.

BEST MODE FOR CARRYING OUT THE INVENTION

A communication apparatus according to a preferred embodiment of thepresent invention will now be described in detail with reference to thedrawings. Although the apparatus will be described with regard to anexample using a wireless LAN system compliant with IEEE 802.11, the formof communication is not necessarily limited to a wireless LAN systemcompliant with IEEE 802.11.

The hardware configuration of the apparatus according to this embodimentwill be described first.

FIG. 1 is a block diagram illustrating an example of the arrangement ofunits, described later, according to an embodiment to which the presentinvention can be applied. The overall apparatus, indicated at 101,includes a controller 102 for controlling the overall apparatus byexecuting a control program stored in a storage unit 103. The controller102 also controls the setting of communication parameters between thisapparatus and another apparatus. The storage unit 103 stores the controlprogram executed by the controller 102 and various information such ascommunication parameters. Various operations, described later, arecarried out by using the controller 102 to execute the control programstored in the storage unit 103. A wireless unit 104 performs wirelesscommunication. A display unit 105 for presenting various displays has afunction for outputting visually perceivable information in the mannerof an LCD or LED or a function for outputting sound information in themanner of a speaker. A connection button 106 is for allowing a user toissue a connection command to a network. In response to operation of theconnection button 106 by the user, processing for connecting to thenetwork using communication parameters already stored in the storageunit 103, or processing for connecting to the network usingcommunication parameters received from an apparatus that is a providerof the communication parameters, is executed.

Upon detecting operation of the connection button 106 by the user, thecontroller 102 executes the processing of FIG. 4, described later. Anantenna controller 107 controls an antenna 108. An input unit 109 isoperated by the user in order to instruct the execution of processingfor disconnecting from the network, as will be described later.

FIG. 2 is a block diagram illustrating an example of arrangement ofsoftware functions implemented by an apparatus that provides a functionfor setting communication parameters, described later.

The overall apparatus, indicated at 201, includes a function block 202for automatic setting of communication parameters. In this embodiment,this function block executes automatic setting of communicationparameters necessary in order to carry out wireless communication,examples of such communication parameters being an SSID serving as anetwork identifier, an encryption method, an encryption key, anauthentication method and an authentication key. Further, according tothis embodiment, the apparatus employs two methods of settingcommunication parameters automatically, namely an authentication codemethod and a non-authentication code method. A packet receiver 203receives packets relating to a variety of communications. A packettransmitter 204 transmits packets relating to a variety ofcommunications. A search signal transmitter 205 controls thetransmission of a device search signal such as a probe request. A proberequest can also be referred to as a network search signal for searchingfor a desired network. Transmission of the probe request is carried outby the search signal transmitter 205. Transmission of a probe response,which is a signal that is in response to the received probe request,also is carried out by the search signal transmitter 205.

A search signal receiver 206 controls reception of the device searchsignal, such as the probe request, from another apparatus. Receipt ofthe probe request is performed by the search signal receiver 206.Receipt of the probe response also is performed by the search signalreceiver 206.

A network controller 207 controls the network connection. The processingshown in FIGS. 4 and 5 is executed by the network controller 207. In thefunction block 202 for automatic setting of communication parameters, acommunication parameter receiver 208 receives communication parametersfrom the device of another party. A communication parameter providingunit 209 provides communication parameters to the device of anotherparty. An automatic setting controller 210 controls various protocolsused in automatic setting of communication parameters. Processing forautomatically setting communication parameters, described later, isexecuted by the communication parameter receiver 208 and communicationparameter providing unit 209 based upon control performed by theautomatic setting controller 210.

A source detector 211 detects the provider of communication parameters.Specifically, the source detector 211 detects the apparatus that is thesource of provision of communication parameters based upon thetransmission of the search signal and the response thereto performed bythe search signal transmitter 205 and search signal receiver 206. In acase where provision of communication parameters is received, thedetected source apparatus is requested for provision of thecommunication parameters and the provision of the communicationparameters is received.

A communication parameter storage unit 212 stores communicationparameters the provision of which is received from the providerapparatus. It should be noted that the communication parameter storageunit 212 corresponds to the storage unit 103.

FIG. 3 is a diagram illustrating a terminal 303, a terminal 305 and aterminal 304, which are referred to as terminals A, B and C,respectively, below. All of these terminals have the structure shown inFIGS. 1 and 2 described above.

The terminals A and B construct a network 31. Consider a case whereterminal C is connected to and joins the network 31, and a case wherethe terminal C leaves the network 31.

Terminal A serves as the provider of communication parameters and storesconfiguration information relating to the network 31. The automaticsetting of communication parameters has already been completed forterminal B for the purpose of communicating with terminal A. It shouldbe noted that if terminal A operates as the provider of thecommunication parameters, it may be a wireless LAN access point.

FIG. 4 is a flowchart illustrating the flow of operation through whichterminal C is connected to and joins the network 31.

If an instruction for connecting terminal C to the network 31 is issuedby user operation of the connection button 106 or by issuance of theinstruction from the control software that controls terminal C (S401),then control proceeds to step S402. It should be noted that theconnection to the network 31 has still not been made at this time.

In order for terminal C to connect to and join the network 31,information concerning the communication parameter relating to network31 to which connection is being attempted is required. Accordingly,terminal C determines whether the communication parameter has beenstored in the storage unit 103 (S402).

If it is determined by the determination processing at S402 thatcommunication parameter has not been stored, then processing for settingthe communication parameter automatically is executed in order thatprovision of the communication parameter from terminal A may be received(S406). The processing for setting the communication parameterautomatically is executed by the function 202 for automatic setting ofcommunication parameters.

If provision of the communication parameter is received from terminal Aat S406, then processing for connecting to the network 31 is executedusing this communication parameter (S407).

On the other and, if it is determined by the determination processing atS402 that terminal C already stores communication parameters, thencontrol proceeds to step S403.

At step S403, terminal C determines whether processing for connecting tothe network has ever been executed using the stored communicationparameters (S403). In other words, terminal C determines whether thereis a history of connection to the network using the stored communicationparameters.

If the result of this determination is that connection processing hasnever been executed even a single time, there is the possibility thatthis moment is immediately after completion of processing for automaticsetting of the communication parameters. Accordingly, processing forconnecting to the network 31 is executed using these communicationparameters as is (S407).

If the result of the determination at S403 is that a connection has beenmade to the network 31 using the communication parameters stored in theterminal itself, then it is determined whether there is a history of adisconnection instruction from the user with regard to this connection(S404).

If the result of the determination at S404 is that disconnection fromthe network has been requested by user operation and that processing fordisconnection from the network has been executed, then control proceedsto step S406. Here processing for automatic setting of communicationparameters is executed in order to receive the provision ofcommunication parameter from terminal A again (S406). If thecommunication parameter is received, then processing for connecting tothe network 31 is executed at step S407 using the communicationparameter provided.

Next, if the result of the determination at S404 is that disconnectionfrom the network has never been requested by the user even a singletime, then control proceeds to step S405. If disconnection has not beenrequested by the user, there is a possibility that disconnection hasoccurred because the user has left the network unintentionally owing todeterioration in the surrounding radio wave environment or excessivedistance from terminal A or B, and that an instruction for re-connectionwas issued at step S401. In this case the type of communicationparameter is discriminated (S405).

The type of communication parameter depends upon whether a communicationparameter has a dynamic component, e.g., whether an encryption key isupdated periodically or is a fixed value and is not updatedperiodically. If at least part of a communication parameter includes anelement that changes dynamically with the passage of time, then thecommunication parameter is judged to be a dynamic element. If acommunication parameter does not include an element that changesdynamically with the passage of time, then the communication parameteris judged to be a static element. For example, there is a case where anencryption key is a fixed value, as in the manner of a WEP key, andthere is a case where an encryption key is updated periodically as inthe manner of a TKIP key or AES key in a WPA authentication scheme. Forthe former it is assumed that the type of communication parameter has astatic element, and for the latter it is assumed that the type ofcommunication parameter has a dynamic element. It should be noted that“WEP” is the abbreviation of “Wired Equivalent Privacy”, and referenceshould be had to the IEEE 802.11 standard for the details. The WPAauthentication scheme is an encryption standard stipulated by the Wi-FiAlliance. “TKIP” is the abbreviation of “Temporal Key IntegrityProtocol”, and “AES” is the abbreviation of “Advanced EncryptionStandard”.

This embodiment will be described taking an encryption key as an exampleof one type of communication parameter. However, the element may beanother parameter element and not an encryption key so long as theelement varies with time. Accordingly, if SSID, for example, which is anetwork identifier, is changed periodically as the setting of theterminal, then the SSID may be adopted as the type of communicationparameter.

If the result of the determination at S405 is that a communicationparameter is a fixed element, then network connection processing isattempted using the stored communication parameter as is (S407).

On the other hand, if it is determined at S405 that the communicationparameter is a dynamic element, then even if an attempt is made tore-connect to the network 31 using the communication parameter that hasbeen stored in terminal C, it is highly likely that the communicationparameter has changed and that re-connection to the network 31 cannot beachieved. Accordingly, processing for automatic setting of thecommunication parameter is executed again at step S406 and provision ofa different communication parameter from terminal A is received (S407).Then, at step S407, processing for connecting to the network 31 isexecuted using the communication parameter newly provided.

In accordance with the foregoing, it is possible to alleviate useroperation and improve connectability at execution of processing forautomatic setting of communication parameters and execution ofconnection processing using the communication parameters setautomatically. Further, in a case where a command for connection to anetwork is issued after the user has issued a disconnection instruction,the connection to the network is made after the provision ofcommunication parameters is received again. By virtue of thisarrangement, the term of validity of a communication parameter can bemade to last until disconnection is instructed by the user, therebyenhancing network security. Further, in a case where connection to anetwork has been instructed despite the fact that the user has notinstructed that disconnection be performed, the occurrence of adisconnection due to some incidental cause is conceivable. Accordingly,since whether to use an already acquired communication parameter or toreceive the provision of a communication parameter anew is selectedautomatically depending upon whether the communication parameter is astatic or dynamic element, connectability can be improved whileprocessing at the time of connection to the network is lightened. Inother words, in the case of a static element, the connection to thenetwork is attempted using the already acquired communication parameter.As a result, the network connection can be achieved without executingautomatic setup processing, and connection processing and connectiontime can be reduced. Further, in the case of a dynamic element,connectability can be improved because automatic setup processing isexecuted. It should be noted that if the connection cannot be achievedeven after a stipulated number of tries in the case where thecommunication parameter is the static element, it will suffice toexecute automatic setting of communication parameters. This enhancesconnectability further.

FIG. 5 is a flowchart illustrating the flow of operation in a case whereterminal C, which is connected to the network 31, leaves the network.

Terminal C connects to the network 31 and is participating in thenetwork (S501).

Monitoring is performed to determine whether terminal C has disconnectedfrom the network 31 (S502). If disconnection from the network 31 has notoccurred, then connection to the network is continued.

If disconnection from the network is sensed at S502, then it isdetermined whether the disconnection is due to an instruction from theuser or the result of an incidental event such as a deterioration in thecondition of radio waves (S503). If disconnection from the network 31 issensed in a state in which disconnection from the network has not beeninstructed by the user, then it is determined that the disconnection isthe result of an incidental event.

If it is determined at S503 that the disconnection from the network hasoccurred owing to an instruction from the user, then the user isnotified of disconnection from the network and processing is suspended(S508). The notification at step S508 is carried out by displaying amessage on the display unit, by lighting an LED or by issuing a buzzertone, etc.

Next, if it is determined at S503 that the disconnection from thenetwork that has occurred is incidental and not as the result of userintervention, then control proceeds to step S504. Examples of incidentalevents that can be mentioned are a case where the wireless environmentin which the network 31 exists deteriorates owing to congestion or thelike, a deterioration in the wireless environment owing to the presenceof a microwave oven or the like, or disconnection because wirelesscommunication time has exceeded a fixed length of time. Other causesbesides these all fall under incidental events so long as they result indisconnection not caused by a command from the user.

In a case where a disconnection has occurred owing to an incidentalevent, it is determined whether a communication parameter utilized thusfar is static or dynamic in order to attempt connection again (S504).The concept of static and dynamic elements is the same as that describedearlier with reference to FIG. 4.

If the result of the determination at S504 is that the communicationparameter is a static element, then re-connection to the network isperformed automatically using the communication parameter unchanged(S505). In this case, notification that terminal C left the network 31is not given to the user.

The result of connection processing executed at S505 is judged (S506).If re-connection to the network 31 could be achieved, control returns tostep S501. Here the status of terminal C is caused to transition to“network connection in progress”.

If the attempt at re-connection fails, the number of re-connectioniterations, which is predetermined, is discriminated (S507). If thepredetermined number of iterations has not been reached, it is construedthat this is only a temporary connection failure. Accordingly,processing for connecting to the network 31 is executed again (S505).

In a case where connection to the network 31 cannot be achieved even ifit has been attempted the predetermined number of times, the user isnotified of the fact that terminal C has been disconnected and has leftthe network 31 (S508). This notification may be made one that isdifferent from that issued when network disconnection is due to aninstruction from the user, thereby allowing the user to recognize thefact that the disconnection from the network is the result of anincidental event. It should be noted that the number of retries forre-connection may be plural or only one.

If it is determined at S504 that a communication parameter stored interminal C is a dynamic element, this means that connection is notfeasible even if this communication parameter is used. Accordingly, theuser is notified of the fact that terminal C has left the network 31(S508).

In a case where .a user notified of the fact that the terminal has leftthe network 31 executes re-connection processing, connection processingis executed in accordance with FIG. 4 described earlier.

In accordance with the foregoing, user operation when re-connecting to anetwork can be alleviated and it is possible to improve operability andconnectability.

Although a preferred embodiment of the present invention has beendescribed, the embodiment is an illustration for describing theinvention and the illustration does not constitute gist that narrows thescope of the invention solely to this embodiment. Various modificationsare possible without departing from the scope of the invention.

Further, the foregoing description has been rendered taking a wirelessLAN compliant with IEEE 802.11 as an example. However, the presentinvention may be implemented also with other wireless media such as awireless USB, MBOA, Bluetooth (registered trademark), UWB and ZigBee.Further, the invention may be applied also to a wired communicationmedium such as a wired LAN.

Here “MBOA” is the abbreviation of “Multi-Band OFDM Alliance”, and UWBincludes wireless USB, wireless 1394 and WINET, etc.

Further, although a network identifier, encryption method, encryptionkey, authentication method and authentication key have been mentioned aswireless parameters, it goes without saying that other information maybe used and that other information may be included in communicationparameters.

The object of the invention is attained also by supplying a recordingmedium storing the program codes of the software for performing thefunctions of the foregoing embodiment to a system or an apparatus,reading the program codes, which have been stored on the recordingmedium, with a computer (e.g., a CPU or MPU) of the system or apparatusfrom the storage medium, and then executing the program codes. In thiscase, the program codes per se read from the recording medium implementthe functions of the embodiment and the recording medium storing theprogram codes constitutes the invention.

Examples of recording media that can be used for supplying the programcode are a flexible disk, hard disk, optical disk, magneto-optical disk,CD-ROM, CD-R, magnetic tape, non-volatile type memory card, ROM or DVD,etc.

Further, besides the case where the aforesaid functions according to theembodiment are implemented by executing the read program code bycomputer, an operating system or the like running on the computer mayperform all or a part of the actual processing based upon instructionsin the program code so that the foregoing functions are implemented.

Furthermore, the program code read from the storage medium is written toa memory provided on a function expansion board inserted into thecomputer or provided in a function expansion unit connected to thecomputer. A CPU or the like mounted on the function expansion board orfunction expansion unit performs all or a part of the actual processingbased upon instructions in the program code so that the foregoingfunctions are implemented.

In accordance with the present invention, as described above, it ispossible to alleviate user operation performed when an attempt is madeto re-connect a communication device, in which a communication parameterhas already been set automatically, to a network after the device hasleft the network temporarily.

While the present invention has been described with reference toexemplary embodiments, it is to be understood that the invention is notlimited to the disclosed exemplary embodiments. The scope of thefollowing claims is to be accorded the broadest interpretation so as toencompass all such modifications and equivalent structures andfunctions.

This application claims the benefit of Japanese Patent Application No.2008-041490, filed on Feb. 22, 2008, which is hereby incorporated byreference herein in its entirety.

1-8. (canceled)
 9. A wireless communication apparatus comprising: areceiving unit configured to receive a wireless communication parameterfrom a parameter-providing apparatus; a storage configured to store thewireless communication parameter received by said receiving unit; adetecting unit configured to detect a connection instruction forconnection to a wireless network which is connected to using a wirelesscommunication parameter provided by the parameter-providing apparatus;and a connecting unit configured to connect to a wireless network usinga wireless communication parameter provided by the parameter-providingapparatus, wherein in a case where said connecting unit re-connects to awireless network, said connecting unit, depending on a reason for adisconnection from a wireless network, either (a) connects to a wirelessnetwork using a wireless communication parameter that has already beenstored in said storage, or (b) receives a wireless communicationparameter again and connects to a wireless network using the wirelesscommunication parameter that was received again.
 10. The apparatusaccording to claim 9, wherein if said connecting unit disconnects from awireless network according to an instruction by a user, said connectingunit receives a wireless communication parameter again and connects to awireless network using the wireless communication parameter that wasreceived again, and wherein if said connecting unit disconnects from awireless network without an instruction by a user, said connecting unitconnects to a wireless network using a wireless communication parameterthat has already been stored in said storage.
 11. The apparatusaccording to claim 9, wherein the wireless network conforms to IEEE802.11.
 12. The apparatus according to claim 9, wherein the wirelesscommunication parameter includes at least one of a network identifier,an encryption method, a cryptographic key, an authentication method, andan authentication key.
 13. A control method of a wireless communicationapparatus, the method comprising: receiving a wireless communicationparameter from a parameter-providing apparatus; storing, in a storage,the wireless communication parameter received in said receiving step;detecting a connection instruction for connection to a wireless networkwhich is connected to using a wireless communication parameter providedby the parameter-providing apparatus; and connecting to a wirelessnetwork using a wireless communication parameter provided by theparameter-providing apparatus, wherein in a case that said connectingstep re-connects to a wireless network, said connecting step, dependingon a reason for a disconnection to a wireless network, either (a)connects to a wireless network using a wireless communication parameterthat has already been stored in the storage, or (b) receives a wirelesscommunication parameter again and connects to a wireless network usingthe wireless communication parameter that was received again.
 14. Themethod according to claim 13, wherein if said connecting stepdisconnects from a wireless network according to an instruction by auser, said connecting step receives a wireless communication parameteragain and connects to a wireless network using the wirelesscommunication parameter that was received again, and wherein if saidconnecting step disconnects from a wireless network without aninstruction by a user, said connecting step connects to a wirelessnetwork using a wireless communication parameter that has already beenstored in the storage.
 15. The method according to claim 13, wherein thewireless network conforms to IEEE 802.11.
 16. The method according toclaim 13, wherein the wireless communication parameter includes at leastone of a network identifier, an encryption method, a cryptographic key,an authentication method, and an authentication key.
 17. Anon-transitory computer-readable storage medium storing a program whichcauses a computer to execute the method according to claim 13.